package com.ruoyi.find.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 小区信息对象 community
 * 
 * @author yang
 * @date 2025-09-22
 */
public class Community extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 小区ID，主键 */
    @Excel(name = "小区ID，主键")
    private Long communityId;

    /** 小区名称 */
    @Excel(name = "小区名称")
    private String communityName;

    /** 位置 */
    @Excel(name = "位置")
    private String location;

    /** 建成年份 */
    @Excel(name = "建成年份")
    private Long establishmentYear;

    /** 物业公司 */
    @Excel(name = "物业公司")
    private String propertyCompany;

    /** 物业费（元/平方米/月） */
    @Excel(name = "物业费", readConverterExp = "元=/平方米/月")
    private BigDecimal propertyFee;

    /** 绿化率（百分比） */
    @Excel(name = "绿化率", readConverterExp = "百=分比")
    private BigDecimal greeningRate;

    /** 停车位数量 */
    @Excel(name = "停车位数量")
    private Long parkingSpots;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 关联id */
    @Excel(name = "关联id")
    private Long cid;


    public String getBuildingNo() {
        return buildingNo;
    }

    public void setBuildingNo(String buildingNo) {
        this.buildingNo = buildingNo;
    }

    @TableField(exist = false)
    private String buildingNo;

    public void setCommunityId(Long communityId) 
    {
        this.communityId = communityId;
    }

    public Long getCommunityId() 
    {
        return communityId;
    }

    public void setCommunityName(String communityName) 
    {
        this.communityName = communityName;
    }

    public String getCommunityName() 
    {
        return communityName;
    }

    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }

    public void setEstablishmentYear(Long establishmentYear) 
    {
        this.establishmentYear = establishmentYear;
    }

    public Long getEstablishmentYear() 
    {
        return establishmentYear;
    }

    public void setPropertyCompany(String propertyCompany) 
    {
        this.propertyCompany = propertyCompany;
    }

    public String getPropertyCompany() 
    {
        return propertyCompany;
    }

    public void setPropertyFee(BigDecimal propertyFee) 
    {
        this.propertyFee = propertyFee;
    }

    public BigDecimal getPropertyFee() 
    {
        return propertyFee;
    }

    public void setGreeningRate(BigDecimal greeningRate) 
    {
        this.greeningRate = greeningRate;
    }

    public BigDecimal getGreeningRate() 
    {
        return greeningRate;
    }

    public void setParkingSpots(Long parkingSpots) 
    {
        this.parkingSpots = parkingSpots;
    }

    public Long getParkingSpots() 
    {
        return parkingSpots;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    public void setCid(Long cid) 
    {
        this.cid = cid;
    }

    public Long getCid() 
    {
        return cid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("communityId", getCommunityId())
            .append("communityName", getCommunityName())
            .append("location", getLocation())
            .append("establishmentYear", getEstablishmentYear())
            .append("propertyCompany", getPropertyCompany())
            .append("propertyFee", getPropertyFee())
            .append("greeningRate", getGreeningRate())
            .append("parkingSpots", getParkingSpots())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("cid", getCid())
            .toString();
    }
}
